﻿#region LicenseInfo
/*
 * WoW Automation
 * Copyright 2008, 2009
 * Michael Sutton
 * 
 * This file is part of Wow Automation.
 * 
 * Wow Automation is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * Wow Automation is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with Wow Automation.  If not, see <http://www.gnu.org/licenses/>.
*/
#endregion

using System.Runtime.InteropServices;

namespace Automation
{
    public class CommonVariables
    {
        public struct BGinfo
        {
            public bool AV;
            public bool EOS;
            public bool WSG;
            public bool AB;
            public bool Darnassus;
            public bool Stormwind;
            public bool IronForge;
            public bool Shatrath;
            public bool SilverMoon;
            public bool InRaid;
            public bool Inside;
            public bool Outside;  // kinda silly  but maintains uniformity  since it can be implied if your not inside your outside
            public bool Dead;

            public bool avGraveYard1;
            public bool avGraveYard2;
            public bool avGraveYard3;
            public bool avGraveYard4;
            public bool avGraveYard5;
            public bool avGraveYard6;
            public bool avGraveYard7;
            public bool avGraveYard8;


            public bool wsgGraveYard;

            public bool abGraveYard1;
            public bool abGraveYard2;
            public bool abGraveYard3;
            public bool abGraveYard4;
            public bool abGraveYard5;
            public bool abGraveYard6;
            public bool abGraveYard7;

            public bool eosGraveYard1;
            public bool eosGraveYard2;
            public bool eosGraveYard3;
            public bool eosGraveYard4;
            public bool eosGraveYard5;
            public bool inQueue;
            public int X;
            public int Y;
            public int Facing;
            public bool Quit;
            public bool ValidScan;
            public bool GotoAV;
            public bool GotoWSG;
            public bool GotoEOS;
            public bool GotoAB;
            public bool isHorde;
            public bool isAlliance;
        }

        public static BGinfo PlayerStatus;
        public static BGinfo PlayerStatusOld;
        public static float oneMilSecond = 1.0f;
        public static void Pause(int Milliseconds)
        {
            System.Threading.Thread.Sleep(Milliseconds);
        }
        [DllImport("kernel32.dll")]
        private static extern bool QueryPerformanceCounter(out long count);

        [DllImport("kernel32.dll")]
        private static extern bool QueryPerformanceFrequency(out long frequency);
    }
    
}
